package main

import "fmt"

type IPAddr [4]byte

// TODO: 给 IPAddr 添加一个 "String() string" 方法
func (ip IPAddr) String() string{
	return fmt.Sprintf("%v.%v.%v.%v\n",ip[0],ip[1],ip[2],ip[3])//Sprintf 函数会根据格式化字符串和传入的值生成一个格式化后的字符串，并返回该字符串。
}

func main() {
	hosts := map[string]IPAddr{
		"loopback":  {127, 0, 0, 1},
		"googleDNS": {8, 8, 8, 8},
	}
	for name, ip := range hosts {
		fmt.Printf("%v: %v\n", name, ip)   //在 fmt.Println() 调用中，会自动调用 IPAddr 对象的 String() 方法来获取其字符串表示形式并打印到控制台。
	}
}
